﻿using System;
using System.CodeDom.Compiler;

namespace JScripts.CodeDom.Compiler {
	/// <summary>
	/// Klasa definiująca typ ScriptResults.
	/// </summary>
	public class ScriptExetuceInfo {
		public ScriptExetuceInfo( ) {
			this._ScriptParams = null;
			this._RunFinish = false;
			this._Return = null;
			this._ScriptError = new CompilerErrorCollection( );
			this._CompilerResult = null;
		}
		private object[ ] _ScriptParams;
		private bool _RunFinish;
		private object _Return;
		private CompilerErrorCollection _ScriptError;
		private CompilerResults _CompilerResult;

		/// <summary>
		/// Zmienna parms, typu Object[] przechowuje parametry dla metody lub funkcji do wywołania ze skryptu.
		/// </summary>
		public Object[ ] ScriptParms {
			get {
				return _ScriptParams;
			}
			set {
				_ScriptParams = value;
			}
		}
		/// <summary>
		/// Wartość RunFinish, przechowuje informacje czy zakończono kompilację i uruchomienie skryptu.
		/// </summary>
		public bool RunFinish {
			get {
				return _RunFinish;
			}
			set {
				_RunFinish = value;
			}
		}
		/// <summary>
		/// Wartość Return, przechowuje informacje o zwruconym wyniku działania skryptu.
		/// </summary>
		public object Return {
			get {
				return _Return;
			}
			set {
				_Return = value;
			}
		}
		/// <summary>
		/// Wartość ScriptError, przechowuje listę blędów wykrytych w skrypcie podczas uruchomienia.
		/// </summary>
		public CompilerErrorCollection ScriptError {
			get {
				return _ScriptError;
			}
			set {
				_ScriptError = value;
			}
		}
		/// <summary>
		/// Wartość CompilerResult, przechowuje informacje zwrucone przez kompiler podczas kompilacji.
		/// </summary>
		public CompilerResults CompilerResult {
			get {
				return _CompilerResult;
			}
			set {
				_CompilerResult = value;
			}
		}
	}
}